#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QToolBar>
#include <QDebug>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    // 创建菜单栏：菜单栏是会自动创建的，因此只需要引用对象树上已经存在的即可
    QMenuBar* menuBar = this->menuBar();
    // 添加菜单
    QMenu* menu = new QMenu("文件 (&F)");
    menuBar->addMenu(menu);
    // 添加菜单项
    QAction* action1 = new QAction("打开 (&O)");
    QAction* action2 = new QAction("保存 (&S)");
    // 给菜单项设置图标
    action1->setIcon(QIcon(":/file-open.png"));
    action2->setIcon(QIcon(":/save.png"));
    // 给菜单添加菜单项
    menu->addAction(action1);
    menu->addAction(action2);
    // 创建工具栏：工具栏是需要手动创建出来的，自身不会创建
    QToolBar* toolBar = new QToolBar();
    // 添加工具栏
    this->addToolBar(toolBar);
    // 给工具栏添加菜单项，相当于菜单栏的快捷方式
    toolBar->addAction(action1);
    toolBar->addAction(action2);
    // 关联菜单项的点击后的操作
    connect(action1, &QAction::triggered, this, &MainWindow::handle1);
    connect(action2, &QAction::triggered, this, &MainWindow::handle2);
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::handle1()
{
    qDebug() << "执行打开操作";
}

void MainWindow::handle2()
{
    qDebug() << "执行保存操作";
}

